//
//  EM_FMDBDataBase.h
//  easymarketing
//
//  Created by mao on 15/12/3.
//  Copyright © 2015年 cubead. All rights reserved.
//

#import <Foundation/Foundation.h>
@class FMDatabase;

@interface CacheData : NSObject

/**
 *  单例 缓存数据管理器
 *
 *  @return 缓存数据管理器
 */
+ (CacheData *)sharedDataBase;

/**
 *  建表
 */
- (void)createDataBase;

/**
 *	@brief	预加载部分数据，保存到缓存里，建表后调用，保证app 进入首页后，能先显示出来
 */
- (void)requestInitData;

/**
 *  插入数据
 *
 *  @param username 用户名
 *  @param url      请求地址
 *  @param datetime 过期时间（系统时间+失效时间）
 *  @param expire   失效时间
 *  @param response 对象
 */
- (BOOL)setResponseWithUserName:(NSString *) username andUrl:(NSString *) url andParam:(NSString *) param andHours:(NSInteger) hours andResponse:(id) responses;

/**
 *  请求缓存数组数据
 *
 *  @param username 用户名
 *  @param url      请求地址
 *  @param param    参数
 *  @param modelName model的名字
 *
 *  @return 返回缓存的可变数组
 */
- (NSMutableArray *)getArrayResponseWithUserName:(NSString *) username andUrl:(NSString *) url andParam:(NSString *)param andModel:(NSString *)modelName;

/**
 *  请求缓存model
 *
 *  @param username  用户名
 *  @param url       url
 *  @param param     参数
 *  @param modelName model的名字
 *
 *  @return 返回缓存的model
 */
- (id)getModelResponseWithUserName:(NSString *) username andUrl:(NSString *) url andParam:(NSString *)param andModel:(NSString *)modelName;

/**
 *  请求缓存字典
 *
 *  @param username 用户名
 *  @param url      url
 *  @param param    参数
 *
 *  @return 返回缓存的字典
 */
- (NSDictionary *)getDictionaryResponseWithUserName:(NSString *)username andUrl:(NSString *)url andParam:(NSString *)param;


@end
